特征工程
特征工程
是应用专业背景知识和技巧处理数据、使得特征能在机器学习算法上发挥更好的作用的过程。
- 包含的内容:
- 特征提取:将任意数据转换为可用于机器学习的数字特征
- 特征预处理:通过一些转换函数将特征数据转换成更加合适算法的特征数据过程
- 特征降维:降低随机变量的个数,得到一组”不相关“的变量的过程
为什么重要
- 同样的算法,特征表示不同,效果可能差一个数量级
- 特征往往决定模型上限;训练与调参更像是在逼近上限(见 机器学习工作流程)
常见做法(按类型)
- 数值特征
- 标准化/归一化、对数变换、分箱、缺失值指示
- 类别特征
- One-Hot、目标编码(需要避免泄漏)
- 文本与序列
- 分词、TF-IDF、n-gram、词向量(进一步可延伸到 深度学习简介)
- 图像与信号
- 归一化、滤波、统计特征、频域特征
降维的典型目标
- 降噪与压缩,提高泛化能力(可能缓解 过拟合)
- 可视化与加速训练
常用工具:Pandas / Numpy / Matplotlib